package com.chx.service;

import com.chx.dto.UserDto;
import com.chx.dto.UserLoginDto;
import com.chx.dto.UserPageQueryDto;
import com.chx.dto.UserPasswordDto;
import com.chx.entity.Users;
import com.chx.result.PageResult;

/**
 * @Author cp-月入过万
 * @Date 2025/5/29
 */
public interface UserService {
    /**
     * 用户登录
     * @param userLoginDto
     * @return
     */
    Users login(UserLoginDto userLoginDto);

    /**
     * 新增用户
     * @param userDto
     */
    void save(UserDto userDto);

    /**
     * 修改用户信息
     * @param userDto
     */
    void update(UserDto userDto);

    /**
     * 根据用户id 修改用户状态
     * @param status
     * @param id
     */
    void updateStatus(Integer status, Long id);

    /**
     * 重置用户密码
     * @param id
     */
    void resetPassword(Long id);

    /**
     * 根据用户id 查询用户信息
     * @param id
     * @return
     */
    Users getById(Long id);

    /**
     * 分页查询用户列表
     * @param userPageQueryDto
     * @return
     */
    PageResult page(UserPageQueryDto userPageQueryDto);

    /**
     * 修改用户密码
     * @param userPasswordDto
     */
    void updatePassword(UserPasswordDto userPasswordDto);
}
